// Programming 2D Games
// Copyright (c) 2011 by: 
// Charles Kelly
// spacewar.h v1.0

#ifndef _CREATETHIS_H           // Prevent multiple definitions if this 
#define _CREATETHIS_H           // file is included in more than one place
#define WIN32_LEAN_AND_MEAN

#include <string>
#include <list>
#include "game.h"
#include "textureManager.h"
#include "image.h"
#include "textDX.h"
#include "ball.h"
#include "block.h"
#include "paddle.h"
#include "button.h"
#include "itemSelector.h"



// This class is the core of the game

class Supercharged : public Game
{
private:
	
	// textures
	TextureManager crosshairTexture;
	TextureManager blockTexture;
	TextureManager ballTexture; 
	TextureManager paddleTexture;
	TextureManager buttonTexture;
	TextureManager bubbleTexture;;
	// game items
	Ball *ball;
	Paddle *paddle;
	Image   crosshair;               // crosshair
	Image	bubble;
	TextDX  *dxFont;            // DirectX font
	bool	lclick, rclick;	// mouse click
	Button button;

	ItemSelector itemSelector;

	
	

public:
	// Constructor
	Supercharged();
	// Destructor
	virtual ~Supercharged();
	// Initialize the game
	void initialize(HWND hwnd);
	void update();      // must override pure virtual from Game
	void ai();          // "
	void collisions();  // "
	void render();      // "
	void releaseAll();
	void resetAll();
	void entityCollisions();
	void blockCreation();
	void blockDestruction();
	void deleteNearestBlock(float x, float y);
	
	
};

#endif
